//WdgElementaryPlotRoutines.hpp
#pragma once
/*    widgetpp - A simple C++ wrapper of DISLIN graphic library               */
/*                                                                            */
/*    Copyright (C) 2012  Mirko Cambi (email: mirko.cambi@gmail.com)          */
/*                                                                            */
/*    This program is free software: you can redistribute it and/or modify    */
/*    it under the terms of the GNU General Public License as published by    */
/*    the Free Software Foundation, either version 3 of the License, or       */
/*    (at your option) any later version.                                     */
/*                                                                            */
/*    This program is distributed in the hope that it will be useful,         */
/*    but WITHOUT ANY WARRANTY; without even the implied warranty of          */
/*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           */
/*    GNU General Public License for more details.                            */
/*                                                                            */
/*    You should have received a copy of the GNU General Public License       */
/*    along with this program.  If not, see <http://www.gnu.org/licenses/>.   */

#include <boost/range.hpp>

namespace wdgpp {
   
struct reference
{
   static const unsigned int
      axis,
      page;   
};
   
void move(float x, float y, int ref = reference::axis);
void draw(float x, float y, int ref = reference::axis);
void line(float x, float y, float u, float v, int ref = reference::axis);
   
struct arrow
{
   struct ratio
   {
      static const int
         zero,
         one,
         two,
         three,
         four,
         five,
         six,
         seven,
         eight,
         nine;
   };
   struct size
   {
      static const int
         zero,
         one,
         two,
         three,
         four,
         five,
         six,
         seven,
         eight,                                          
         nine;
   };
   struct form                                    
   {
      static const int
         filled, 
         not_filled,
         opened,
         closed;
   };
   struct position
   {
      static const int
         no_head,                         
         at_end,
         both,
         same_direction;
   };
};                
                        
void vector(float x1, float y1, float x2, float y2, int vec, int ref = reference::axis);  
void circle(float x, float y, float r, int ref = reference::axis);  

} // namespace wdgpp

